package searchteam.client.services;

import java.util.Collection;

import searchteam.client.beansMirrors.*;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface SearchTeamServicesAsync {

	public void getAllPersons(AsyncCallback<Collection<PersonMirror>> callback);

	public void createPerson(PersonMirror person, AsyncCallback<Integer> callback);

	public void updatePerson(PersonMirror person, AsyncCallback<Integer> callback);
	
	public void getAllPapers(AsyncCallback<Collection<PaperMirror>> callback);

	public void createPaper(PaperMirror paper, AsyncCallback<Integer> callback);

	public void updatePaper(PaperMirror paper, AsyncCallback<Integer> callback);
	
	public void getAllTeams(AsyncCallback<Collection<TeamMirror>> callback);

	public void createTeam(TeamMirror team, AsyncCallback<Integer> callback);

	public void updateTeam(TeamMirror team, AsyncCallback<Integer> callback);

	public void addPersonToTeam(PersonMirror person, TeamMirror team, AsyncCallback<Void> callback);
	
	public void linkPersonsToPaper(Collection<PersonMirror> persons, PaperMirror paper, AsyncCallback<Void> callback);
	
	public void linkPapersToPerson(Collection<PaperMirror> papers, PersonMirror person, AsyncCallback<Void> callback);

}
